package cn.kgc.mes.workorder.service;

import java.util.List;

import cn.kgc.mes.routeprocess.domain.RouteProcess;
import cn.kgc.mes.workorder.domain.ProWorkorder;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * 生产工单Service接口
 * 
 * @author cly
 * @date 2025-09-11
 */
public interface IProWorkorderService extends IService<ProWorkorder>
{
    /**
     * 查询生产工单
     * 
     * @param workorderId 生产工单主键
     * @return 生产工单
     */
    public ProWorkorder selectProWorkorderByWorkorderId(Long workorderId);

    /**
     * 查询生产工单列表
     * 
     * @param proWorkorder 生产工单
     * @return 生产工单集合
     */
    public List<ProWorkorder> selectProWorkorderList(ProWorkorder proWorkorder);
    public List<ProWorkorder> selectProWorkorderList2(ProWorkorder proWorkorder);

    /**
     * 新增生产工单
     * 
     * @param proWorkorder 生产工单
     * @return 结果
     */
    public int insertProWorkorder(ProWorkorder proWorkorder);

    /**
     * 修改生产工单
     * 
     * @param proWorkorder 生产工单
     * @return 结果
     */
    public int updateProWorkorder(ProWorkorder proWorkorder);

    /**
     * 批量删除生产工单
     * 
     * @param workorderIds 需要删除的生产工单主键集合
     * @return 结果
     */
    public int deleteProWorkorderByWorkorderIds(Long[] workorderIds);

    /**
     * 删除生产工单信息
     * 
     * @param workorderId 生产工单主键
     * @return 结果
     */
    public int deleteProWorkorderByWorkorderId(Long workorderId);
    //根据当前产品编码取出工艺过程集合
    public List<RouteProcess> getWorkList(String productCode);


    List<ProWorkorder> selectWorkorderWeekAndNum();
}
